1. Technical Field
The present invention relates to providing services for clients in need of the requested services. More particularly the present invention relates to providing services for clients using one protocol and service providers using another protocol.
2. Description of Related Art
The emergence of information appliances and new types of connectivity is spurring a new form of networkingxe2x80x94unmanaged, dynamic networks of consumer devices that spontaneously and unpredictably join and leave the network. Consumers will expect these ad hoc, peer-to-peer networks to automatically form within the home, in very small businesses, and in networked vehicles.
In order for this technology to be accepted by the consumer, it must be very easy to use. A key aspect of making these networks easy to use is making them self-configuring, rendering them virtually transparent to the consumer. Service discovery protocols help make networks self-configuring.
A service discovery protocol (of which there are many) eliminates the need to hardwire or pre-configure the components of a network. There are typically three kinds of components involved in networks enhanced by service discovery protocols: clients, service providers, and registries. A client is usually a user interface; although, it can be any software program that requires services from other components of the network. Service providers are network connected devices, or software modules running on the network that provide useful services to other network-connected components. Useful services include, for example, faxing a document, storing a file, and connecting to the Internet. Registries are software components that act like a dynamic directory or xe2x80x9cYellow Pagesxe2x80x9d for the network. Service providers advertise their capabilities in the registries, and clients look up required services in the registries. The role of the service discovery protocol is to facilitate service advertising and client lookup, and broker the service to the client.
Service discovery protocols currently present in the industry include: Jini(trademark) from Sun Microsystems Inc., 901 San Antonio Road, Palo Alto, Calif. 94303; the Simple Service Discovery Protocol of Universal Plug and Play(trademark) from Microsoft Corporation, One Microsoft Way, Redmond, Wash. 98052; Service Location Protocol (IETF draft standard); InfernoSpaces(trademark) from Lucent Techonlogies, Inc., 600 Mountain Avenue, Murray Hill, N.J. 07974; and Salutation(trademark) from the Salutation Consortium. There are also several others available.
Sun has constructed a bridge between Jini and SLP. This bridge allows service providers using SLP to appear in a Jini lookup service registry. Sun did not provide a mechanism to allow SLP clients to access Jini services. Therefore, this bridge or gateway provides only one-way interchange between the two protocols and is limited in scope to only the two protocols.
Other proposals have suggested bridges between specific protocols, but these bridges are usually one-way interchanges. Another problem with these proposals, thus far, is that the scope of the proposal is usually limited to a protocol shepherded by the party proposing the bridge, thereby limiting the scope to only one or two protocols outside the party""s protocol.
Given that none of the service discovery protocols are expected to dominate, it is believed that networks may contain service providers and clients using any number of service discovery protocols. It would be advantageous to provide a system and method for facilitating the different protocols to work in harmony between client and server providers. It would also be advantageous to provide a system and method to enhance the usability of services having their own unique protocols and to maximize the number of clients that can utilize them.
In an effort to overcome the above mentioned shortcomings, the present invention is based on the belief that multiple service discovery protocols will continue to exist in the foreseeable future. The present invention offers solutions to allow interoperability of devices and services that implement different service discovery protocols.
The present invention utilizes an enhanced registry mechanism that can broker requests and responses among many different protocols. The enhanced registry mechanism of the present invention, called the Universal Service Broker Interchange Mechanism (USBIM), provides several important enhancements to the standard registry service.
The USBIM is a coordinated set of components that collaborate to provide interoperability among service discovery protocols. Initially, service provider protocol adapter servlets listen for service advertising requests. Each protocol is associated with a different servlet that understands the details of the service advertising mechanism peculiar to that protocol. The service provider protocol adapter servlets then convert the service provider""s protocol into a canonical representation of service advertising. The advertisement is stored in an internal registry. Client protocol adapter servlets listen for client lookup requests and look up a matching service provider. As with service provider protocol adapter servlets, a different client protocol adapter servlet handles the details of client lookup for each particular protocol. The client protocol adapter servlets then convert the client request into a canonical representation of the request, which is used to look up the services required by the client and to match these requirements against the service provider advertisements stored in the same canonical form in the internal registry. Once a match has been found, the client protocol adapter servlet brokers the mechanism of client-service provider interaction.